<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <!-- 
        prop传递值

        attr

        1. 将组件当成函数来看
        2. props 选项定义的是函数的形参
            2.1 定义了的形参，可不可以不传递
        3. data 选项定义的数据是函数自身的数据

     -->
    <div id="app">
      <!-- 传递参数 name age -->
      <person name="张三" age="0"></person>

      <hr />

      <person age="1"></person>
    </div>

    <script src="./js/vue.js"></script>
    <script>
      Vue.config.productionTip = false;

      Vue.component("person", {
        // props 接收传递过来的 参数
        props: ["name", "age"],

        data: function () {
          return {
            width: "180",
            height: "180",
          };
        },

        template: `
            <div>
              <h2>姓名：{{ name }}</h2>
              <h2>年龄：{{ age }}</h2>
            </div>
        `,
      });

      new Vue({
        el: "#app",

        // data: function () {
        //   return {
        //     name: "老祖宗",
        //   };
        // },
      });
    </script>
  </body>
</html>
